#pragma once

#ifndef PART_H_
#define PART_H_

#include "Enums.h"
#include <vector>
#include "GUIBase.h"
#include "TraceManager.h"

using namespace std;

class GUIBase;
enum PartType;

class Part : public GUIBase
{
	Q_OBJECT

public:
	Part (int, int, PartType, QGraphicsScene *scene=0);
	~Part();
	PartType partType;
	static vector<Part*> Part::fallenParts;

	Part(PartType);	//FOR AGENT UNIT TESTS

	void PartFellOnFloor();
	void RemoveFromFloor();

	
public slots:
	void beganAscending(qreal newScale, qreal scaleSpeed);
	void beganDescending(qreal newScale, qreal scaleSpeed);
};

#endif